The present invention relates generally to user interfaces for computer systems. More particularly, the present invention relates to xe2x80x9ctree viewxe2x80x9d user interfaces for representing and manipulating hierarchical data in computer applications and systems.
Over the last two decades, significant increases in personal computer processing capability and equally significant decreases in the cost of such computers has led to the proliferation of personal computers in all aspects of society. Thus, today personal computers are heavily utilized in schools, homes and in business. One factor fueling this proliferation of computers throughout numerous aspects of life has been the introduction and expanded use of graphical user interfaces, which have greatly simplified and made more intuitive both computer operating systems and applications. This simplification has allowed less sophisticated computer users to readily use computers for many applications.
Today, the vast majority of personal computer operating systems and application programs are accessed by users via a graphical user interface. Examples of such operating systems are IBM(copyright) OS/2(copyright), Apple(copyright) System 7(copyright), and Microsoft(copyright) Windows(copyright), and example applications include Microsoft Windows Explorer(copyright), Lotus Notes(copyright) and Word Perfect(copyright). These operating systems and applications all provide a xe2x80x9cwindow likexe2x80x9d workspace for providing users access to applications and information.
A wide variety of operating systems and computer application programs incorporate, display and/or perform operations on data or information which is hierarchical in nature. For example, most computer operating systems provide users access to a hierarchy of directories and sub-directories where documents, programs, e-mail messages and other information are stored. Similarly, organizer applications allow a user to establish task listings, which once again are often hierarchical in nature. With the advent and expanded use of graphical user interfaces, such hierarchical information or data is often displayed to the user in a tree representation. These tree representations visually indicate the level in the hierarchy where each item of data resides, and may allow a user to xe2x80x9cexpandxe2x80x9d or xe2x80x9ccollapsexe2x80x9d the tree at various points (i.e., displaying or hiding information in the lower levels) to facilitate a users viewing of the hierarchical data. Both custom programs, as well as tree viewer objects, are known in the prior art for providing a xe2x80x9ctree viewxe2x80x9d graphical user interface to the user. For example, FIG. 1 is a screen capture of a prior art application (Microsoft Corporation""s Windows Explorer) that includes a first display area containing hierarchical data displayed in a tree representation and a second display area adjacent the first display area containing data associated with the hierarchical data displayed in the first display area. America On-Line""s Instant Messenger Version 1.75 is another example of an existing application which includes hierarchical data in a tree representation.
While the use of tree viewer objects and custom tree viewer programs has expanded in recent years, so has the complexity of many of the hierarchical data sets that are provided to the user in tree representation. With this increasing complexity, it has become more important that computer users are provided control mechanisms for manipulating the hierarchical data set and for customizing how the hierarchical data appears on their computer screen. Moreover, as computer memory and processing capabilities have expanded, users are now opening up more and more application at the same time, resulting in desktop displays that typically have numerous windows open simultaneously in what may be a confusing, layered display of icons, windows and the like. This increasingly complex display environment has similarly made it important that the control mechanisms available to a user are clearly linked to the icons, windows or other desktop display items with which they are associated. Despite these needs, prior tree representations have often provided only limited capabilities for performing manipulating hierarchical data or customizing how it is displayed on their computer display device, and the ease of accessing such control capabilities, and their methods of implementation, have been less than ideal. Accordingly, there is a need for improvements in graphical user interfaces for representing and manipulating hierarchical data.
In view of the above limitations associated with existing tree view graphical user interfaces, it is an object of the present invention to provide improved graphical user interfaces for representing and manipulating hierarchical data.
It is another further object of the present invention to provide such improved graphical user interfaces in generic systems or computer program products which can be readily and inexpensively modified to customize the graphical user interface for a specific application or operating system.
It is still a further object of the present invention to provide expanded sets of control functions associated with tree viewer objects. Other objects, features and advantages of the present invention will become apparent upon reading the following detailed description and appended claims and upon reference to the accompanying drawings.
The above-mentioned objects of the present invention are provided by new composite graphical user interface objects which group together a tree viewer object and control functions for manipulating the format and contents of the tree viewer object in a single object. This composite object provides a graphical user interface with a tree view display and a tree view control panel which are implemented within a single computer window within a desktop display. This new user interface object simplifies manipulation of hierarchical data displayed in its associated tree view display, and permits users or application developers to readily choose from a library of potential manipulation functions which are provided within the tree view controller and which may be exclusively directed to control of the tree viewer object. In this manner, a new user interface object for displaying and manipulating hierarchical data in a tree representation is provided, which is more intuitive, easier to use and more functional than traditional tree viewer user interfaces, and which may be readily incorporated into a wide variety of computer applications as an off-the-shelf composite object.
In one embodiment of the present invention, composite graphical user interfaces are provided for representing and manipulating a set of hierarchical data on a computer display device. These composite graphical user interfaces include a display window which is disposed on a computer display device, a tree view display which is disposed within the display window, and a tree view control panel disposed within the display window adjacent the tree view display which includes a plurality of user selectable indicia that select a corresponding one of a plurality of functions which modify the tree view display. The plurality of user selectable indicia are selectable from a predefined set of user selectable indicia, thereby allowing an application developer or user to customize the control functions made available on the tree view control panel. In these composite graphical user interfaces, the tree view display depicts the set of hierarchical data in a tree representation having a root level and at least one lower level, and each level of the tree representation includes at least one branch containing a portion of the set of hierarchical data. Moreover, the tree view display and the tree view control panel are disposed within the display window so as to appear to the user as a single integrated graphical user interface.
In another embodiment of the present invention, selection means operably associated with the tree view display are provided for selecting at least one branch of the tree representation. In this embodiment, the composite graphical user interfaces may include only functions that are exclusively associated with the tree view display. The tree view control panel may comprise a toolbar and the user selectable indicia may comprise a plurality of function buttons. One of the plurality of functions may sub-set the tree representation at a branch below the root level. Other functions may be provided which modify the hierarchical data displayed in the tree representation, which modify how the hierarchical data in the tree representation is displayed, and which move the selection means from a currently selected branch to a different branch in the tree representation.
In still another embodiment of the present invention, the graphical user interface may be implemented by a programmable user interface object. Methods are also provided for displaying and manipulating a set of hierarchical data, as are computer program products. These graphical user interfaces, programmable user interface objects, and computer program products provide intuitive, convenient to use, flexible interface means which can be implemented as an off-the-shelf product in a wide variety of different computer applications.